'\" t
.TH "LOGIND\&.CONF" "5" "" "systemd 231" "logind.conf"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
logind.conf, logind.conf.d \- 登陆管理器配置文件
.SH "SYNOPSIS"
.PP
/etc/systemd/logind\&.conf
.PP
/etc/systemd/logind\&.conf\&.d/*\&.conf
.PP
/run/systemd/logind\&.conf\&.d/*\&.conf
.PP
/usr/lib/systemd/logind\&.conf\&.d/*\&.conf
.SH "描述"
.PP
上述配置文件用于控制
\fBsystemd-logind.service\fR(8)
登陆管理器的行为。
.SH "配置目录及其优先级"
.PP
默认设置是在编译期间确定的， 所以仅在确实需要修改默认设置的情况下， 才需要使用配置文件。位于
/etc/systemd/
目录中的初始配置文件， 仅包含了展示选项默认值的注释， 目的在于方便系统管理员查看和直接修改。
.PP
如果软件包想要自定义某些默认设置， 那么必须将自定义的配置文件安装到
/usr/lib/systemd/*\&.conf\&.d/
目录中。
/etc/
目录仅供系统管理员使用。 系统管理员可以利用下面的逻辑来覆盖默认设置： 主配置文件最先被读取， 优先级也最低。 所有
*\&.conf\&.d/
中的配置文件 都会覆盖主配置文件中的设置。 所有
*\&.conf\&.d/
中的配置文件(无论位于哪个目录中)， 统一按照文件名的字典顺序处理。 如果在多个配置文件中设置了同一个选项， 那么仅以文件名最靠后(字典顺序)的那一个为准。 为了便于排序， 建议给所有
*\&.conf\&.d/
中的配置文件 都加上两位十进制数字的文件名前缀。
.PP
如果系统管理员想要屏蔽
/usr/lib/
目录中的某个配置文件， 那么最佳做法是在
/etc/
目录中 创建一个指向
/dev/null
的同名符号链接， 即可彻底屏蔽
/usr/lib/
目录中的同名文件。
.SH "选项"
.PP
下面的所有选项都位于
"[Login]"
小节：
.PP
\fINAutoVTs=\fR
.RS 4
必须设为一个正整数， 表示默认最多可以自动启动多少个虚拟终端。 当用户切换到一个先前未曾使用的虚拟终端时， 将根据该虚拟终端的名称自动从
autovt@\&.service
模版实例化一个 例如
autovt@tty4\&.service
这样的服务单元。 默认情况下，autovt@\&.service
是一个指向
getty@\&.service
的软连接。 换句话说，当用户切换到一个先前未曾使用的虚拟终端时，"login:"登录提示符是动态启动的。 因此，此选项实际上相当于设置了允许启动多少个
\m[blue]\fBagetty\fR\m[]\&\s-2\u[1]\d\s+2
文本登录界面(与虚拟终端一一对应)。 如果某个虚拟终端已经被其他子系统(例如图形登录界面)占用， 那么将不会自动启动此虚拟终端。 注意，\fIReserveVT=\fR
中的虚拟终端 总会被自动启动， 即使这些终端并不在
\fINAutoVTs=\fR
的范围内。 默认值是"6"。若设为"0"则表示禁止自动启动任何虚拟终端， 也就是禁止自动从
autovt@\&.service
模版实例化。
.RE
.PP
\fIReserveVT=\fR
.RS 4
必须设为一个表示终端编号的正整数， 表示无条件的为该终端从
autovt@\&.service
模版实例化一个服务单元(见上文)。 被此选项选中的虚拟终端将被无条件的标记为"忙碌"状态， 以确保不被任何其他子系统占用。 此选项可用于确保无论其他子系统占用了多少虚拟终端， 在特定编号的终端上总有一个文本界面的登录
\m[blue]\fBagetty\fR\m[]\&\s-2\u[1]\d\s+2
可用。 默认值是"6"， 也就是在 Alt\-F6 上总有一个文本界面的"login:"登录提示符。 若设为"0"则表示禁止此特性。
.RE
.PP
\fIKillUserProcesses=\fR
.RS 4
接受一个布尔值。控制在用户退出登录会话时， 是否杀死该用户的进程。如果设为"yes"， 那么与此会话对应的 scope 单元中所包含的所有进程都将被杀死。 如果设为"no"，那么与此会话对应的 scope 单元将会被"遗弃"， 并且其中包含的所有进程都将被保留(任由其自生自灭)。 默认值是
"yes"
。 参见下面的
\fIKillOnlyUsers=\fR
与
\fIKillExcludeUsers=\fR
选项。
.sp
根据 linger(逗留) 设置的不同，用户进程除了可以运行在会话中， 还可以运行在
user@\&.service
用户管理单元中。 这样就允许用户运行独立于登录会话的进程。参见
\fBloginctl\fR(1)
的
\fBenable\-linger\fR
命令。
.sp
注意，设置
\fIKillUserProcesses=yes\fR
将破坏
\fBscreen\fR(1)
与
\fBtmux\fR(1)
之类的工具(除非它们被移出了会话 scope 单元之外)。参见
\fBsystemd-run\fR(1)
的例子。
.RE
.PP
\fIKillOnlyUsers=\fR, \fIKillExcludeUsers=\fR
.RS 4
设为一个空格分隔的用户名列表， 以影响
\fIKillUserProcesses=\fR
的效果： 若
\fIKillOnlyUsers=\fR
非空， 则表示
\fIKillUserProcesses=yes\fR
仅对列表内的用户有效。 若
\fIKillExcludeUsers=\fR
非空， 则表示
\fIKillUserProcesses=yes\fR
仅对列表外的用户有效。
\fIKillOnlyUsers=\fR
默认值为空，
\fIKillExcludeUsers=\fR
默认值为
"root"
， 并且
\fIKillExcludeUsers=\fR
的优先级比
\fIKillOnlyUsers=\fR
更高。 注意，若选项值为空则表示忽略此选项(相当于不存在此选项)。
.RE
.PP
\fIIdleAction=\fR
.RS 4
当系统持续处于空闲状态超过
\fIIdleActionSec=\fR
所设置的时间后， 应该执行何种操作：
"ignore"(无操作),
"poweroff"(关闭系统并切断电源),
"reboot"(重新启动),
"halt"(关闭系统但不切断电源),
"kexec"(调用内核"kexec"函数),
"suspend"(休眠到内存),
"hibernate"(休眠到硬盘),
"hybrid\-sleep"(同时休眠到内存与硬盘),
"lock"(锁屏) 。 默认值是
"ignore"
.sp
注意，此功能依赖于用户会话能够正确的报告空闲状态。 执行此处设置的动作需要满足下列全部条件： (1)系统中不存在"idle
\m[blue]\fBinhibitor\fR\m[]\&\s-2\u[2]\d\s+2"锁(禁止进入空闲状态的锁) (2)所有会话都报告说它们正处于空闲状态，并且持续处于空闲状态超过了下文
\fIIdleActionSec=\fR
所设置的时间。
.RE
.PP
\fIIdleActionSec=\fR
.RS 4
当系统持续处于空闲状态超过此处设置的时长之后 将会自动执行
\fIIdleAction=\fR
设定的动作。 可以使用下面的时间单位后缀："ms", "s", "min", "h", "d" ，若仅设为一个正整数，那么单位是秒。
.RE
.PP
\fIInhibitDelayMaxSec=\fR
.RS 4
当系统中存在"delay
\m[blue]\fBinhibitor\fR\m[]\&\s-2\u[2]\d\s+2"延迟锁时，关闭/休眠系统的请求将被临时延迟一段时间。 此选项可用于设置上述延迟的最大时长。 若超过这个时长之后，延迟锁依然未被释放，那么将执行关闭/休眠系统的动作。 可以使用下面的时间单位后缀："ms", "s", "min", "h", "d" ，若仅设为一个正整数，那么单位是秒。 默认值是5秒。
.RE
.PP
\fIHandlePowerKey=\fR, \fIHandleSuspendKey=\fR, \fIHandleHibernateKey=\fR, \fIHandleLidSwitch=\fR, \fIHandleLidSwitchDocked=\fR
.RS 4
当按下硬件按钮(关机、休眠到内存、休眠到硬盘、合上显示屏)时， 应该执行何种操作：
"ignore"(无操作),
"poweroff"(关闭系统并切断电源),
"reboot"(重新启动),
"halt"(关闭系统但不切断电源),
"kexec"(调用内核"kexec"函数),
"suspend"(休眠到内存),
"hibernate"(休眠到硬盘),
"hybrid\-sleep"(同时休眠到内存与硬盘),
"lock"(锁屏) 。 注意， 只监视带有
"power\-switch"
标签的 输入设备的 key(按下按钮)/lid(合上显示屏) 事件。 如果主机插入了一个扩展坞(docking station) 或者连接了多个显示器， 那么"合上显示屏"将执行
\fIHandleLidSwitchDocked=\fR
动作， 否则将执行
\fIHandleLidSwitch=\fR
动作。 下面是各选项的默认值：
\fIHandlePowerKey=poweroff\fR
、
\fIHandleSuspendKey=suspend\fR
、
\fIHandleLidSwitch=suspend\fR
、
\fIHandleLidSwitchDocked=ignore\fR
、
\fIHandleHibernateKey=hibernate\fR
.RE
.PP
\fIPowerKeyIgnoreInhibited=\fR, \fISuspendKeyIgnoreInhibited=\fR, \fIHibernateKeyIgnoreInhibited=\fR, \fILidSwitchIgnoreInhibited=\fR
.RS 4
设置硬件按钮(关机、休眠到内存、休眠到硬盘、合上显示屏) 所触发的操作(见上文)是否应该忽略
\m[blue]\fBinhibitor\fR\m[]\&\s-2\u[2]\d\s+2
锁的存在。
"no"
表示遵守应用所持有的 inhibitor 锁， 仅当所有的锁都失效以后才执行所触发的操作。
"yes"
表示无视 inhibitor 锁的存在， 无条件的立即执行所触发的操作。 下面是各选项的默认值：
\fIPowerKeyIgnoreInhibited=no\fR
、
\fISuspendKeyIgnoreInhibited=no\fR
、
\fIHibernateKeyIgnoreInhibited=no\fR
、
\fILidSwitchIgnoreInhibited=yes\fR
。
.RE
.PP
\fIHoldoffTimeoutSec=\fR
.RS 4
当开机/唤醒时间尚未超出此处设置的时间长度时， systemd 将延迟响应合上显示屏(lid)硬件事件。 为了能够正确检测可热插拔的外接显示器与扩展坞， 在刚开机之后的一段时间内忽略lid事件是非常有必要的。 若设为零，systemd 将会立即响应lid事件， 但这有可能在内核完成初始化所有热插拔设备之前。 只要你不在乎让 systemd 去管理在系统关闭时被插入或拔出的设备， 那么就可以设为零。 默认值是30秒。
.RE
.PP
\fIRuntimeDirectorySize=\fR
.RS 4
为每个已登录用户设置运行时目录(\fI$XDG_RUNTIME_DIR\fR)的最大尺寸。 若设为绝对大小， 则可以使用基于1024的字节后缀：K, M, G, T 。 若设为相对大小， 则可以设为一个以物理内存大小为基准的百分数(以
"%"
为后缀)。 默认值是 10% 。 注意，这里设置的值仅用于限制运行时目录尺寸的上限， 因为运行时目录位于内存中(tmpfs)， 所以实际所占用的内存大小是随着目录内容的变化而变化的。
.RE
.PP
\fIInhibitorsMax=\fR
.RS 4
控制最多允许同时存在多少个 inhibitor 锁。 默认值是 8192
.RE
.PP
\fISessionsMax=\fR
.RS 4
控制最多允许同时管理多少个用户会话。默认值是 8192 。 根据PAM栈中
pam_systemd\&.so
模块的不同配置， 超出数量限制的登录会话可能会被直接拒绝、也可能会被允许登录但不被
systemd\-logind
追踪。
.RE
.PP
\fIUserTasksMax=\fR
.RS 4
限制每个用户可同时运行的最大操作系统任务数。 这实际上是设置了每个用户的 slice 单元的
\fITasksMax=\fR
的值。详见
\fBsystemd.resource-control\fR(5)
手册。默认值是 33% ，对于默认设置的内核来说，在主机上等于 10813 ，但是在容器中的值可能会更小。
.RE
.PP
\fIRemoveIPC=\fR
.RS 4
当用户完全退出登录时(也就是退出最后一个登录会话时)， 是否销毁所有属于该用户的 SysV 与 POSIX IPC 对象。 这些IPC对象包括：SysV 信号/共享内存/消息队列、POSIX 共享内存/消息队列。 默认值
"yes"
表示销毁，这样可以确保当用户完全退出登录之后，不会再占用任何IPC资源。 注意，无论如何设置此选项，root 用户的IPC对象永远不会被销毁。
.RE
.SH "参见"
.PP
\fBsystemd\fR(1),
\fBsystemd-logind.service\fR(8),
\fBloginctl\fR(1),
\fBsystemd-system.conf\fR(5)
.SH "NOTES"
.IP " 1." 4
agetty
.RS 4
\%[set $man.base.url.for.relative.links]//man/agetty.html
.RE
.IP " 2." 4
inhibitor
.RS 4
\%http://www.freedesktop.org/wiki/Software/systemd/inhibit
.RE
.\" manpages-zh translator: 金步国
.\" manpages-zh comment: 金步国作品集：http://www.jinbuguo.com
